hysop.backend.device.codegen.kernels.directional_stretching module

class hysop.backend.device.codegen.kernels.directional_stretching.DirectionalStretchingKernel(typegen, dim, ftype, order, direction, is_cached, is_inplace, boundary, formulation, time_integrator, symbolic_mode=False, known_vars=None)[source]

Bases: KernelCodeGenerator

build_requirements(typegen, work_dim, ftype, order, is_cached, time_integrator, direction, boundary, force_symbolic, formulation, storage, is_periodic, is_inplace)[source]
static codegen_name(ftype, is_cached, is_inplace, direction, formulation)[source]
gen_kernel_arguments(typegen, work_dim, ftype, requirements, is_cached, is_inplace, local_size_known)[source]
gencode()[source]
get_global_size(work_size, local_work_size, work_load=[1, 1, 1])[source]
static get_max_global_size(work_size, work_load, **kargs)[source]
static min_ghosts(boundary, formulation, order, time_integrator, direction)[source]
static min_wg_size(formulation, order, time_integrator)[source]
per_work_statistics()[source]
required_workgroup_cache_size(local_work_size)[source]